home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / Bitmap.h < prev    next >
C/C++ Source or Header  |  1990-12-03  |  1KB  |  52 lines

  1. #ifndef Bitmap_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define Bitmap_First
  6.  
  7. #include "Port.h"
  8. #include "Ink.h"
  9.  
  10. const int cPartPixelChanged= 12345;
  11.  
  12. class Bitmap : public Ink {
  13. protected:
  14.     class DevBitmap *dbm;
  15.     
  16.     void seedfill(int x, int y, u_int seed, u_int val);
  17.  
  18. public:
  19.     MetaDef(Bitmap);
  20.  
  21.     Bitmap(Point sz, u_short depth= 1);
  22.     Bitmap(Point sz, u_short *data, u_short depth= 1);
  23.     Bitmap(int sz, u_short *data, u_short depth= 1);
  24.     Bitmap(const char *filename);
  25.     ~Bitmap();
  26.     
  27.     class DevBitmap *GetDevBitmap()
  28.     { return dbm; }
  29.     void SetDevBitmap(DevBitmap*, bool clear_old= TRUE);
  30.  
  31.     void SetInk(Port *p);
  32.     void SetPixel(u_int x, u_int y, u_int value);
  33.     u_int GetPixel(u_int x, u_int y);
  34.     void Fill(u_int val);
  35.     void SeedFill(Point, u_int val);
  36.     void Clear()
  37.     { Fill(0); }
  38.     int GetDepth();
  39.     Point Size();
  40.     int ShortsPerLine();
  41.     int BytesPerLine();
  42.     int Shorts()
  43.     { return ShortsPerLine() * Size().y; }
  44.     int Bytes()
  45.     { return Shorts() * 2; }
  46.     ostream& PrintOn(ostream&);
  47.     istream& ReadFrom(istream&);
  48. };
  49.  
  50. #endif Bitmap_First
  51.  
  52.